/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package modulo;

import interfaces.Controlador;
import interfaces.IVista;
import java.awt.Component;
import java.util.ArrayList;

/**
 *
 * @author Overpower
 */
public class DatosPersonalesControlador extends Controlador{

    DatosPersonalesVista _vista;
    private final ArrayList<javax.swing.JComponent> _listaTextField;
    
    public DatosPersonalesControlador()
    {
        _vista = new DatosPersonalesVista();
        
        Component[] _listaComponentes = _vista.GetPanelMarco().getComponents();
        _listaTextField = new ArrayList<>();
        for( Component c : _listaComponentes )
        {
            String _name = c.getClass().getName();
            if( "javax.swing.JTextField".equals( _name ) || 
                    "javax.swing.JComboBox".equals( _name ) )
            {
                _listaTextField.add( (javax.swing.JComponent)c );
            }
        }
    }
    
    public void SetFocusable( Boolean _f)
    {
        for( javax.swing.JComponent _tf : _listaTextField )
        {
            _tf.setFocusable(_f);
        }  
    }
    
    public void LimpiarDatos()
    {
        
        for( javax.swing.JComponent _tf : _listaTextField )
        {
            if( "javax.swing.JTextField".equals(_tf.getClass().getName()) )        
                ((javax.swing.JTextField)_tf).setText(null);
            else
                ((javax.swing.JComboBox)_tf).setSelectedIndex(-1);
        }
        _vista.getBtnEditar().setEnabled(false);   
        _vista.getBtnGuardar().setEnabled(false);
    }
    
    public void Reset(Boolean _edition)
    {
        _vista.getBtnEditar().setEnabled(_edition);   
        _vista.getBtnGuardar().setEnabled(false);  
    }
    
    @Override
    protected void addListeners() {
        
    }

    @Override
    public IVista getVista() {
        return _vista;
    }
    
}
